home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / waisgate / cdialect.h next >
C/C++ Source or Header  |  1995-05-09  |  3KB  |  139 lines

  1. /* WIDE AREA INFORMATION SERVER SOFTWARE:
  2.    No guarentees or restrictions.  See the readme file for the full standard
  3.    disclaimer.
  4.  
  5.    5.29.90    Harry Morris, morris@think.com
  6.  
  7.    $Header: /y/src/wais/wais-8-b5/ir/RCS/cdialect.h,v 1.1.1.1 1992/07/11 00:44:33 curtisg Exp curtisg $
  8.    $Log: cdialect.h,v $
  9.  * Revision 1.1.1.1  1992/07/11  00:44:33  curtisg
  10.  * Added SCO UNIX configuration
  11.  *
  12. */
  13.  
  14. /* there are three kinds of C that we have encountered so far:
  15.  
  16.          1. ANSI_LIKE     - full prototypes and stdargs and ansi includes
  17.          2. PROTO_ANSI     - full prototypes, varargs and misc includes
  18.          3. K_AND_R    - k&r prototypes, varargs and misc includes
  19.          
  20.   This file is a mess because some compilers do not handle elif.  sorry.
  21.  
  22.   defined symbols for other machines:
  23.     hp:         hpux
  24.     Next:       NeXT 
  25. */
  26.  
  27. #ifndef C_DIALECT
  28. #define C_DIALECT
  29.  
  30. /*----------------------------------------------------------------------*/
  31.  
  32. #ifdef STDC
  33. #define ANSI_LIKE
  34. #endif /* def STDC */
  35.  
  36. #ifdef __STDC__
  37. #if !defined(M_XENIX) /* for some reason XENIX defines __STDC__ */
  38. #define ANSI_LIKE
  39. #endif /* ndef M_XENIX */
  40. #endif /* __STDC__ */
  41.  
  42. #if defined(M_UNIX)
  43. #define ANSI_LIKE
  44. #define PROTO_ANSI
  45. #ifndef SYSV
  46. #define SYSV
  47. #endif
  48. #endif
  49.  
  50. #ifdef THINK_C
  51. #define ANSI_LIKE
  52. #endif /* THINK_C */
  53.  
  54. #ifdef MPW            
  55. #define ANSI_LIKE
  56. #endif /* MPW */
  57.  
  58. #ifdef VAX_C            /* vms */
  59. #define ANSI_LIKE
  60. #endif /* VAX_C */
  61.  
  62. #ifdef MSC            /* XXX not sure if this is correct */
  63. #define ANSI_LIKE
  64. #endif /* MSC */
  65.  
  66. #ifndef ANSI_LIKE
  67.  
  68. #ifdef SABER            /* c interpreter/debugger */
  69. #define PROTO_ANSI
  70. #endif /* SABER */
  71.  
  72. #ifdef cstar            /* parallel C on the CM */
  73. #define PROTO_ANSI
  74. #endif /* cstar */
  75.  
  76. #ifndef PROTO_ANSI
  77.  
  78. #ifdef SUN_C            /* XXX not sure if this is correct */
  79. #define K_AND_R
  80. #endif /* SUN_C */
  81.  
  82. #ifdef __GNUC__            /* gcc in traditional mode */
  83. #define K_AND_R            /* gcc in ansi mode defines __STDC__ */
  84. #endif /* __GNUC__ */
  85.  
  86. #if defined(M_XENIX)
  87. #if defined(M_UNIX)
  88. #ifndef SYSV
  89. #define SYSV
  90. #endif /* SYSV */
  91. #else /* M_UNIX */
  92. #define K_AND_R
  93. #define NOTCPIP /* doesn't support TCP */
  94. #define SYSV /* is based on system V */
  95. #endif /* M_UNIX */
  96. #endif /* M_XENIX */
  97.  
  98. /* otherwise */
  99. #define K_AND_R            /* default to the stone age */
  100.  
  101. #endif /* ndef PROTO_ANSI */
  102. #endif /* ndef ANSI_LIKE */
  103.  
  104. /* set up the function prototyping convention */
  105.  
  106. #if defined(ANSI_LIKE) || defined(PROTO_ANSI)
  107. #define _AP(args) args
  108. #endif /* def ANSI_LIKE */
  109.  
  110. #ifdef K_AND_R
  111. #define _AP(args) ()
  112. #endif /* def K_AND_R */
  113.  
  114. /* if you are not k_and_r, then load in ustubs always */
  115. #ifdef K_AND_R
  116. #include "ustubs.h"
  117. #endif /* def K_AND_R */
  118.  
  119. /* Comment this back in to figure out what the compiler thinks we are */
  120. /*
  121. #ifdef ANSI_LIKE
  122. WeareAnsiLike
  123. #endif
  124. #ifdef PROTO_ANSI
  125. WeareProtoAnsi
  126. #endif
  127. #ifdef K_AND_R
  128. WeareKandR
  129. #endif
  130. Crash-and-Burn
  131. */
  132. /* End of chunk to comment back in */
  133.  
  134. #endif /* ndef C_DIALECT */
  135.  
  136. /*----------------------------------------------------------------------*/
  137.  
  138.  
  139.